
#ifndef __LENGTHUNIT_H__
#define __LENGTHUNIT_H__

#include <Unit.h>

class Formatter;

class LengthUnit: public Unit
{
public:
	static const LengthUnit& getMile();
	static const LengthUnit& getYard();
	static const LengthUnit& getFeet();

	virtual const Unit& getBaseUnit() const;

	virtual void printOrderedUnitsList(const Formatter& formatter)const;
	
private:
	LengthUnit(int factor, string name_m, const eUnitType unitType);

	virtual void appendAndSortUnit(OrderedUnits & orderedunits, const Unit & unit) const;
};

#define MILE LengthUnit::getMile()
#define YARD LengthUnit::getYard()
#define FEET LengthUnit::getFeet()
#endif

